Join Evaluation Schemata for Constraint Handling Rules (chr)

نویسنده

  • Christian Holzbaur
چکیده

CHR is a committed-choice language consisting of guarded rules that rewrite constraints into simpler ones until they are solved. CHR can de-ne both simpliication of and propagation over user-deened constraints. Simpliication replaces constraints by simpler constraints while preserving logical equivalence. Propagation adds new constraints which are logically redundant but may cause further simpliication. The constraints acted upon by CHR are represented in a constraint store, much like tuples in a conventional data base. The evaluation of the condition part of CHR consists of nding sets of tuples in the constraint store which match the heads of a rule, resembling the relational algebra join operation. In the binding environments of these tuple sets, the applicability of the rules is decided by evaluating the guards. Rule applications may add and remove constraints. The anticipated interaction under an immediate update view leads to a small number of prototypical join evaluation code templates. Their Prolog realization is discussed in this paper.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Parallelism, Concurreny and Distribution in Constraint Handling Rules: A Survey (Draft)

Constraint Handling Rules (CHR) is both an effective concurrent declarative programming language and a versatile computational logic formalism. CHR has its roots in constraint logic programming and concurrent constraint programming, but also integrates ideas from multiset transformation and rewriting systems. CHR programs consist of guarded reactive rules that transform multisets of constraints...

متن کامل

Efficient Compilation of Guarded Join-Patterns via Parallel Implementation of Constraint Handling Rules

Parallelism is going mainstream and the demand for programs that scales well with parallelism will become ever more stronger. Hence to develope parallel programs of increasing complexity, comprehensive and efficient high level concurrency abstractions would soon become a necessity in existing mainstream programming languages. Our approach extends from a promising high-level concurrency abstract...

متن کامل

Join Ordering for Constraint Handling Rules: Putting Theory into Practice

Join ordering is the NP-complete problem of finding the optimal order in which the different conjuncts of multi-headed rules are joined. Join orders are the single most important determinants for the runtime complexity of CHR programs. Nevertheless, all current systems use ad-hoc join ordering heuristics, often using greedy, very error-prone algorithms. As a first step, Leslie De Koninck and Jo...

متن کامل

Join Ordering for Constraint Handling Rules

Join ordering is the problem of finding cost optimal execution plans for matching multi-headed rules. In the context of Constraint Handling Rules, this topic has received limited attention so far, even though it is of great importance for efficient CHR execution. We present a formal cost model for joins and investigate the possibility of join optimization at runtime. We propose some heuristic a...

متن کامل

SMCHR: Satisfiability modulo constraint handling rules

Constraint Handling Rules (CHRs) are a high-level rule-based programming language for specification and implementation of constraint solvers. CHR manipulates a global store representing a flat conjunction of constraints. By default, CHR does not support goals with a more complex propositional structure including disjunction, negation, etc., or CHR relies on the host system to provide such featu...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1998